export interface Parameter {
  showType: number
  id: string
  name: string
  type: 'discrete' | 'continuous'
  description?: string
  color?: string
  lineWidth?: number
  isColorBand?: boolean
  upperLimit?: number
  lowerLimit?: number
  channelId?: string
  unit?: string
  children?: Parameter[]
  mode?: number
}

export interface Task {
  id: string
  name: string
  parameters: string[]
  createdAt: string
  updatedAt: string
}

export interface DataPoint {
  timestamp: number
  value: number
}

export interface ChannelData {
  channelId: string
  parameters: {
    [key: string]: DataPoint[]
  }
  fileName?: string
}

export interface CursorPosition {
  x: number
  y: number
}

export interface Measurement {
  parameterId: string
  channelId: string
  max: number
  min: number
  avg: number
  fluctuation: number
} 

// 增加参数视图设置类型
export interface ParameterViewSetting {
  parameterId: string     // 参数ID
  channelId?: string      // 通道ID（如果为空则应用于所有通道）
  color?: string          // 自定义颜色
  lineWidth?: number      // 线条粗细 (1-5)
  displayMode: 'continuous' | 'discrete'  // 显示方式：连续量或离散量
  visible?: boolean       // 是否可见
  yAxisMin?: number       // Y轴下限（最小值）
  yAxisMax?: number       // Y轴上限（最大值）
  showLabel?: boolean     // 是否显示游标标签
}

// 视图设置数据类型 - 改为使用复合键 "parameterId:channelId"
export type ViewSettings = Record<string, ParameterViewSetting> 